JBoss Messaging Message Driven Bean Example

$Revision: 82920 $

Overview


This example deploys a simple Message Driven Bean that processes messages sent to a test queue.  Once it receives a message and "processes" it, the MDB sends an acknowledgment message to a  temporary destination created by the sender for this purpose. The example is considered  successful if the sender receives the acknowledgment message.

This example relies on having access to a running JBoss default instance.   However, the example will automatically deploy its own queue, unless a queue with the same name is already deployed.


Running the example

1. Set up the JBOSS_HOME environment variable to point to the JBoss instance you deployed JBoss Messaging into. For example, if you deployed JBoss Messaging in C:\jboss-5.0.0.GA\server\default\deploy, then your JBOSS_HOME value should be C:\jboss-5.0.0.GA.

2. Go to the example's home directory

cd ...\examples\mdb

3. Run the example:

ant


The output of a successful run should be similar to:

$ ant
Buildfile: build.xml

identify:
     [echo] ###########################################################################
     [echo] #                        Running the MDB example                          #
     [echo] ###########################################################################
     [echo] The queue:      testQueue
     [echo] The client jar: ../../../output/lib/jboss-messaging-client.jar

sanity-check:

init:
    [mkdir] Created dir: C:\java\messaging\docs\examples\mdb\output\classes\META-INF
    [mkdir] Created dir: C:\java\messaging\docs\examples\mdb\output\lib\META-INF
    [mkdir] Created dir: C:\java\messaging\docs\examples\common\output\classes

compile:
    [javac] Compiling 5 source files to C:\java\messaging\docs\examples\common\output\classes
    [javac] Compiling 2 source files to C:\java\messaging\docs\examples\mdb\output\classes

jar:
     [copy] Copying 2 files to C:\java\messaging\docs\examples\mdb\output\classes\META-INF
      [jar] Building jar: C:\java\messaging\docs\examples\mdb\output\lib\mdb-example.jar

deploy:
     [copy] Copying 1 file to C:\jboss-4.2.0.GA\server\messaging\deploy

sleep:
     [echo] Sleeping for 5 seconds ...

run:

send:
     [java] Queue /queue/testQueue exists
     [java] The Hello! message was successfully sent to the testQueue queue
     [java] Received message: !olleH
     [java] The example connected to JBoss Messaging version 1.4.1.GA (1.4)
     [java] 
     [java] #####################
     [java] ###    SUCCESS!   ###
     [java] #####################

undeploy:
   [delete] Deleting: C:\jboss-4.2.0.GA\server\messaging\deploy\mdb-example.jar

BUILD SUCCESSFUL
Total time: 10 seconds

Troublesooting

1. I get "javax.jms.JMSSecurityException: User null is NOT authenticated"

You probably didn't install JBoss Messaging correctly. A fresh JBoss Messaging installation requires changes in the security configuration of a default JBoss instance, specifically a properly configured "messaging" security domain.  Follow the instructions from the "Installation" paragraph of the release documentation.